//////////////////////////////////////////////////////////////////////////////////////
//
//  FileName    :   XY_FileNameHash.h
//  Version     :   1.0
//  Creater     :   Zhu Chengmin
//  Date        :   2009-1-6
//  Comment     :   
//
//////////////////////////////////////////////////////////////////////////////////////

#pragma once

enum XY_HASH_TYPE
{
    XY_HASH_INVALID = 0,
    XY_HASH_TIME33,
    XY_HASH_DEFAULT = XY_HASH_TIME33,
    XY_HASH_BKDR,
    XY_HASH_TIME33R,
    XY_HASH_BKDRR,

    XY_HASH_TOTAL = 64 // Hash function limit count, don't modify 
};


PLATFORM_API int XY_ConvertFileName(const char cszFileName[], wchar_t wszRetConvertedFileName[]);
PLATFORM_API int XY_StringHashW(XY_HASH_TYPE eHashType, const wchar_t cwszString[], unsigned int *puRetHash);
PLATFORM_API int XY_FileNameHash(XY_HASH_TYPE eHashType, const char cszFileName[], unsigned int *puRetHash);
